package com.example.d9_homework.homework03;

import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;

public class Test {
    public static void main(String[] args) {
        // 当我们在京东注册新用户的时候,我们输入一个要注册的用户名,如果之前有该用户名注册过,京东是不会让相同的用户名注册的,会注册失败.根据以上描述,设计程序,完成注册功能!
        // 利用HashSet的机制实现去重,主要要重写equals和hashCode方法
        // 1.创建一个Scanner对象
        Scanner sc = new Scanner(System.in);

        // 2.创建一个集合存储用户信息
        Set<User> users = new HashSet<>();

        // 3.初始化一些数据用于测试
        users.add(new User("admin", "123456"));

        while (true) {
            // 4.请用户输入信息
            System.out.print("请输入用户名:");
            String username = sc.next();
            System.out.print("请输入密码:");
            String password = sc.next();

            // 5.创建一个用户对象封装用户输入的数据
            User user = new User();
            user.setUsername(username);
            user.setPassword(password);

            // 6.使用users去添加数据,因为users是set集合,调用add方法返回值是Boolean
            // 如果添加成功说明没用注册,如果添加不成功,说明已经注册过了,提示用户
            if (users.add(user)) {
                System.out.println("注册成功");
                break;
            } else {
                System.out.println("用户名已存在,注册失败");
            }
        }
    }
}
